IF in:=Open((fstr:='CON:///100/NapsaTerm output window/AUTO/WAIT'),MODE_OLDFILE)
IF SystemTagList(s,[SYS_ASYNCH,TRUE,SYS_INPUT,in,SYS_OUTPUT,0,0])=-1 THEN Close(in)
ELSE
Throw("OPEN",fstr)
ENDIF
ENDIF
EXCEPT DO
IF wd_obj THEN DisposeObject(wd_obj)
IF bguibase THEN CloseLibrary(bguibase)
IF m THEN freefile(m)
SELECT exception
CASE "LIB"; WriteF('Couldn''t open bgui library.\n')
CASE "OBJ"; WriteF('Couldn''t create window object.\n')
CASE "WIN"; WriteF('Couldn''t open window.\n')
CASE "MEM"; WriteF('Not enough memory.\n')
CASE "OPEN"; WriteF('Couldn''t open file\s\s\s.\n',IF exceptioninfo THEN ' "' ELSE '',IF exceptioninfo THEN exceptioninfo ELSE '',IF exceptioninfo THEN '"' ELSE '')
ENDSELECT
ENDPROC
PROC openappend(name:PTR TO CHAR)
DEF fh=ZERO
IF fh:=Open(name,MODE_OLDFILE)
IF ChangeMode(CHANGE_FH,fh,EXCLUSIVE_LOCK)=FALSE
Close(fh)
fh:=ZERO
ENDIF
IF fh
Seek(fh,0,OFFSET_END)
ENDIF
ENDIF
ENDPROC fh
PROC req_onbekend(str:PTR TO CHAR)
DEF rq:bguirequest
rq.flags:=BREQF_CENTERWINDOW OR BREQF_LOCKWINDOW OR BREQF_AUTO_ASPECT OR BREQF_FAST_KEYS
rq.title:=NIL
rq.gadgetformat:='_Add|_Oops'
rq.textformat:='\s is unknown.'
rq.reqpos:=POS_CENTERMOUSE -> NOP
rq.textattr:=NIL
rq.underscore:="_"
rq.reserved0:=0
rq.screen:=NIL -> NOP
rq.reserved1:=0
ENDPROC BgUI_RequestA(wnd,rq,[str])
PROC idcmphook(h:PTR TO hook,obj,imsg:PTR TO intuimessage)
IF imsg.class=IDCMP_RAWKEY
IF (imsg.code=67) OR (imsg.code=68); going:=FALSE; etype:=ET_TELNET; ENDIF
IF imsg.code=$4C -> Omhoog
IF imsg.qualifier AND (IEQUALIFIER_LSHIFT OR IEQUALIFIER_RSHIFT)